package com.offcn.login;

import com.offcn.dao.UserDao;
import com.offcn.entity.User;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;
@WebServlet("/hello")
public class Login extends HttpServlet{
    //实例化dao对象
    UserDao ud = new UserDao();
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //从网页上获取用户名和用户密码
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        //获取记住密码的勾选状态
        String save = req.getParameter("save");
        //调用userdao的登录方法，用一个User对象接收
        User us = ud.login(username,password);
        //判断us是否有值，有值，则用户存在切密码正确，进行登录操作，没值则进入登录失败页面
        if(us != null){
            //如果记住密码勾选，则进行记住密码操作
            if("checkon".equals(save)){
                //创建Cookie对象，将用户输入的用户名和密码存入Cookie
                //实现记住密码功能
                Cookie c1 = new Cookie("username",us.getUsername());
                Cookie c2 = new Cookie("password",us.getPwd());
                //给Cookie设置过期时间
                c1.setMaxAge(60*60*24*7);
                c2.setMaxAge(60*60*24*7);
                //将Cookie响应到浏览器
                resp.addCookie(c1);
                resp.addCookie(c2);
            }
            //实现用户跟踪校验功能，没有登录没法进入其他页面
            //创建session，将us对象绑定到session
            HttpSession session = req.getSession();
            session.setAttribute("user",us);
            //登录之后转发到主页面
            req.getRequestDispatcher("student").forward(req,resp);
        }else {
            //登录失败进入登录失败页面
            resp.sendRedirect("login_fail.jsp");
        }
    }
}
